﻿using CarEdge.Infrastructure.Attr;
using CarEdge.Infrastructure.Dto.Request.Dic;
using CarEdge.Infrastructure.Dto.Response;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CarEdge.Service.Interface.Dic
{
    [Provider_]
    public interface I_Dic_Service
    {
        /// <summary>
        /// 获取字典类别列表
        /// </summary>
        /// <returns></returns>
        Task<Api_Response_Dto> Get_AllDic_Type(int page=1, int limit=10, string key="");

        /// <summary>
        /// 获取单个字典类别
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Response_Dto> Get_Single_Dic_Type(string id);

        /// <summary>
        /// 删除字典类别
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<Api_Response_Dto> Delete_Dic_Types(IEnumerable<string?>? ids);
        /// <summary>
        /// 新增字典
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Response_Dto> Add_Dictionary(Dic_Request_Dto dto);
        /// <summary>
        /// 删除字典
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<Api_Response_Dto> Delete_Dictionarys(IEnumerable<string?>? ids);
        /// <summary>
        /// 修改字典类型
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task <Api_Response_Dto>Up_Dic(Dic_Request_Dto dto);
        /// <summary>
        /// 新增字典类型
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task <Api_Response_Dto> Add_Dictionary_Type(Dic_Request_Dto dto);
        /// <summary>
        /// 编辑修改字典类型
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task <Api_Response_Dto> Edit_Dic(Dic_Request_Dto dto);
        Task <Api_Response_Dto> Get_Dictionary_ByKey(IEnumerable<string?>? keys);
    }
}
